<?php

class GeradorSenha {

	// criando e abrindo a função
	public static function gerarSenha($tipo="L N L N N L ") {
		// o explode retira os espaços presentes entre as letras (L) e números (N)
		$tipo = explode(" ", $tipo);

		// Criação de um padrão de letras e números (no meu caso, usei letras maiúsculas
		// mas você pode intercalar maiusculas e minusculas, ou adaptar ao seu modo.)
		$padrao_letras = "a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|x|w|y|z";
		$padrao_numeros = "0|1|2|3|4|5|6|7|8|9";

		// criando os arrays, que armazenarão letras e números
		// o explode retire os separadores | para utilizar as letras e números
		$array_letras = explode("|", $padrao_letras);
		$array_numeros = explode("|", $padrao_numeros);

		// cria a senha baseado nas informações da função (L para letras e N para números)
		$senha = "";
		for ($i=0; $i<sizeOf($tipo); $i++) {
			if ($tipo[$i] == "L") {
				$senha.= $array_letras[array_rand($array_letras,1)];
			} else {
				if ($tipo[$i] == "N") {
					$senha.= $array_numeros[array_rand($array_numeros,1)];
				}
			}
		}
		return $senha;

	}

}
?>